Using Term Rewriting to Verify Software

نویسندگان

  • Sergio Antoy
  • John D. Gannon
چکیده

This paper describes a uniform approach to the automation of verification tasks associated with while statements, representation functions for abstract data types, generic program units and abstract base classes. Program units are annotated with equations containing symbols defined by algebraic axioms. An operation’s axioms are developed using strategies that guarantee crucial properties such as convergence and sufficient completeness. Sets of axioms are developed by stepwise extensions that preserve these properties. Verifications are performed with the aid of a program that incorporates term rewriting, structural induction, and heuristics based on ideas used in the Boyer-Moore prover. The program provides valuable mechanical assistance: managing inductive arguments and providing hints for necessary lemmas, without which formal proofs would be impossible. The successes and limitations of our approaches are illustrated with examples from each domain.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using Term Rewriting Systems to Design and Verify Processors Using Term Rewriting Systems to Design and Verify Processors

We present a novel use of Term Rewriting Systems (TRS's) to describe micro-architectures. The state of a system is represented as a TRS term while the state transitions are represented as TRS rules. TRS descriptions are amenable to both veriication and synthesis. We illustrate the use of TRS's by giving the operational semantics of a simple RISC instruction set. We then present another TRS that...

متن کامل

A Rewriting Strategy to Verify Observational Congruence

We are concerned with the verification of behavioural equivalences for CCS specifications. We consider their axiomatic presentations thus relying on a term rewriting approach to verify the equivalence. In this framework it happens that, while some behavioural equivalences do admit a fmite canonical term rewriting system, the completion of observational congruence diverges. In the paper we prese...

متن کامل

Proving Termination Properties with mu-term

mu-term is a tool which can be used to verify a number of termination properties of (variants of) Term Rewriting Systems (TRSs): termination of rewriting, termination of innermost rewriting, termination of order-sorted rewriting, termination of context-sensitive rewriting, termination of innermost context-sensitive rewriting and termination of rewriting modulo specific axioms. Such termination ...

متن کامل

Towards a Rewriting Semantics for a Software Architecture Description Language

Software architecture description languages (ADL) allow a software designer to focus on high-level aspects of an application by abstracting from the details of the components that compose an architecture. It is precisely this abstraction that makes ADLs suitable for verification using model checking techniques. ADLs are, in a way, domain-specific languages for aspects such as coordination, dist...

متن کامل

Simulating liveness by reduction strategies

We define a general framework to handle liveness and related properties by reduction strategies in abstract reduction and term rewriting. Classically, reduction strategies in rewriting are used to simulate the evaluation process in programming languages. The aim of our work is to use reduction strategies to also study liveness questions which are of high importance in practice (e.g., in protoco...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Trans. Software Eng.

دوره 20  شماره 

صفحات  -

تاریخ انتشار 1994